// #include<jsoncpp/json/json.h>
// #include<iostream>
// #include<memory>
// using namespace std;
// int main()
// {
//     const char*name="小赵";
//     int age=18;
//     float score[3]={88.5,99,55};
//     Json::Value root;
//     root["名字"]=name;
//     root["年龄"]=age;
//     root["成绩"].append(score[0]);
//     root["成绩"].append(score[1]);
//     root["成绩"].append(score[2]);
//     Json::StreamWriterBuilder swb;
//     swb["emitUTF8"] = true;  // 强制以UTF-8输出 
//     unique_ptr<Json::StreamWriter>sw(swb.newStreamWriter());
//     ostringstream ss;
//     sw->write(root,&ss);
//     cout<<ss.str()<<endl;
// }
// #include<jsoncpp/json/json.h>
// #include<sstream>
// #include<string>
// #include<iostream>
// #include<memory>
// using namespace std;
// int main()
// {
//     const char*name="xiaozhao";
//     int age=19;
//     int score[3]={99,95,65};
//     Json::Value root;
//     root["name"]=name;
//     root["age"]=age;
//     root["score"].append(score[0]);
//     root["score"].append(score[1]);
//     root["score"].append(score[2]);

//     Json::StreamWriterBuilder swb;
//     unique_ptr<Json::StreamWriter>sw(swb.newStreamWriter());
//     stringstream ss;
//     sw->write(root,&ss);
//     cout<<ss.str()<<endl;
//     return 0;

// }
#include<jsoncpp/json/json.h>
#include<memory>
#include<iostream>
using namespace std;
int main()
{
    string s=R"({"name":"xiaoming","age":18,"score":[88,87,65]})";
    Json::CharReaderBuilder crb;
    unique_ptr<Json::CharReader>cr(crb.newCharReader());
    Json::Value root;
    string err;
    bool pd=cr->parse(s.c_str(),s.c_str()+s.size(),&root,&err);
    if(!pd){
        cout<<"Parse failed,err:"<<err<<endl;
    }
    cout<<root["name"].asString();
    cout<<root["age"].asInt();
    int sz=root["score"].size();
    for(int i=0;i<sz;i++)
    {
        cout<<root["score"][i]<<endl;
    }

    return 0;

}